
import plugin from '../../../lib/plugins/plugin.js'
import data from '../model/XiuxianData.js'
import { __PATH } from "./xiuxian.js"
import { existplayer,exist_najie_thing } from "./xiuxian.js"


/**
 * 交易系统
 */

export class Exchange extends plugin {
    constructor() {
        super({
            /** 功能名称 */
            name: 'Yunzai_Bot_Exchange',
            /** 功能描述 */
            dsc: '交易模块',
            event: 'message',
            /** 优先级，数字越小等级越高 */
            priority: 600,
            rule: [
                {
                    reg: '^#冲水堂丹药$',
                    fnc: 'supermarketdanyao'
                },
                {
                    reg: '^#冲水堂功法$',
                    fnc: 'supermarketgonfa'
                },
                {
                    reg: '^#冲水堂装备$',
                    fnc: 'supermarketep'
                },
                {
                    reg: '^#冲水堂道具$',
                    fnc: 'supermarketdaoju'
                },
                {
                    reg: '^#上架.*$',
                    fnc: 'onsell'
                },
                {
                    reg: '^#选购.*$',
                    fnc: 'purchase'
                }
            ]
        })
    }

    //上架
    async onsell(e) {

        let user_qq = e.user_id;

        //判断是否为匿名创建存档
        if (user_qq == 80000000) {
            e.reply("不支持匿名");
            return;
        }

        //有无存档
        let ifexistplay = await existplayer(user_qq);
        if (!ifexistplay) {
            e.reply("尚未踏入仙途");
            return;
        }

        //#上架xxx*13513*13581354
        //指令+物品+价格+数量
        let thing = e.msg.replace("#", '');
        //拿到物品与数量
        thing = thing.replace("上架", '');
        //分开
        let code = thing.split("\*");
        //物品，数量，价格
        let thing_name = code[0];//
        let thing_value = code[1];//
        let thing_acunot = code[2];//

        if (thing_acunot < 1) {
            e.reply(`最少出售数量1`);
            thing_acunot = 1;
            return;
        }
        else if (thing_acunot > 99) {
            e.reply(`最多出售数量99`);
            return;
        }

        //判断列表中是否存在，不存在不能卖,并定位是什么物品
        var z = 0;//默认是丹药
        //查找丹药列表
        let ifexist0 = data.danyao_list.find(item => item.name == thing_name);
        //查找道具列表
        let ifexist1 = data.daoju_list.find(item => item.name == thing_name);
        //查找功法列表
        let ifexist2 = data.gongfa_list.find(item => item.name == thing_name);
        //查找装备列表
        let ifexist3 = data.equipment_list.find(item => item.name == thing_name);
        //查找药草列表
        let ifexist4 = data.caoyao_list.find(item => item.name == thing_name);

        if (ifexist0) {
            ifexist0 = ifexist0;
        }
        else if (ifexist1) {
            ifexist0 = ifexist1;
            z = 1;
        }
        else if (ifexist2) {
            ifexist0 = ifexist2;
            z = 2;
        }
        else if (ifexist3) {
            ifexist0 = ifexist3;
            z = 3;
        }
        else if (ifexist4) {
            ifexist0 = ifexist4;
            z = 4;
        }
        else {
            e.reply(`柠檬堂不回收这样的东西:${thing_name}`);
            return;
        }

                //判断戒指中是否存在
       let thing_quantity = await exist_najie_thing(user_qq, thing_name, ifexist0.class);
        if (!thing_quantity) {
                    //没有
                    e.reply(`你没有[${thing_name}]这样的${ifexist0.class}`);
                    return;
        }

        //错误价格
        if (thing_value <= 0) {
            e.reply(`这价格想白送就直说！`);
            return;
        }
        //总定价少于两万
        if (thing_value * thing_acunot <= 10000) {
            e.reply(`这价格想白送就直说！`);
            return;
        }

        //修正数值非整数
        thing_value = Math.trunc(thing_value)
        thing_acunot = Math.trunc(thing_value)

        //寻找物品价格
        //控制价格区间为【定价*0.8，定价*3.0】以外出非正常价格
        //通过数值来判断物品

        //表名

        //判断是否有市场表

        //判断物品属性


        //把物品写入市场表


        //存在物品，扣除物品

        
        e.reply(`功能测试中......`);
        return;
    }











}

